﻿Public Class ObjCobrar

    Private _objetoBBDD As New BBDD
    Private _ListaIdCliente As New List(Of String)

#Region "Métodos"
    Public Sub CobrarCita()
        'Comprobar que la cantidad entregada es correcta
        Try
            If CDbl(Cobrar._tbEntregado.Text) < CDbl(Cobrar._tbTotal.Text) Then
                MessageBox.Show("La cantidad entregada es menor que el total.")
            Else
                Cobrar._tbCambio.Text = CStr(CDbl(Cobrar._tbEntregado.Text) - CDbl(Cobrar._tbTotal.Text))

            End If
        Catch ex As Exception
            MessageBox.Show("Faltan datos para cobrar o no son correctos.")
            Cobrar._tbCambio.Text = 0
        End Try

    End Sub

    Public Sub CargarDatagrid(ByVal idCliente As Integer)
        Cobrar._dgvTratamientos.Rows.Clear()
        _objetoBBDD.EjecutarComandoSelect("SELECT * FROM Citas, tratamientos WHERE  Citas.idTratamiento = tratamientos.idTratamiento and  Citas.idCliente=" & _ListaIdCliente(idCliente) & " and Citas.fecha Like #" & Now.ToString("dd/MM/yyyy") & "#")
        While _objetoBBDD.lector.Read()
            Cobrar._dgvTratamientos.Rows.Add(_objetoBBDD.lector("nombre"), _objetoBBDD.lector("precio").ToString("0.00"))
        End While
        _objetoBBDD.lector.Close()
        _objetoBBDD.Desconectar()

    End Sub


    Public Sub CargarCombobox()
        Cobrar.ComboBox2.Items.Clear()
        _objetoBBDD.EjecutarComandoSelect("SELECT * FROM Citas, clientes where Citas.idCliente = clientes.IdCliente and Citas.fecha like #" & Now.ToString("dd/MM/yyyy") & "#")
        While _objetoBBDD.lector.Read()
            Dim _horaEntrada As Date = _objetoBBDD.lector("horaEntrada")
            Cobrar.ComboBox2.Items.Add(_objetoBBDD.lector("nombre") & " " & _horaEntrada.ToString("HH:mm"))
            Dim auxidCliente As String = _objetoBBDD.lector("Citas.idCliente")
            _ListaIdCliente.Add(auxidCliente)
        End While
        _objetoBBDD.lector.Close()
        _objetoBBDD.Desconectar()

    End Sub

    Public Function CalcularTotal() As Double
        Dim _resultadoTotal As Double = 0
        For _contador As Integer = 0 To Cobrar._dgvTratamientos.Rows.Count() - 1
            _resultadoTotal += CDbl(Cobrar._dgvTratamientos.Rows(_contador).Cells(1).Value.ToString)
        Next
        Return _resultadoTotal

    End Function

    Public Function RecalcularTotal() As Double
        Dim _resultadoTotal As Double = 0
        For _contador As Integer = 0 To Cobrar._dgvTratamientos.Rows.Count() - 1
            _resultadoTotal += Cobrar._dgvTratamientos.Rows(_contador).Cells(1).Value
        Next
        Return _resultadoTotal
    End Function

    Public Sub LimpiarDatos()
        Cobrar._tbCambio.Text = ""
        Cobrar._tbEntregado.Text = ""
        Cobrar._tbTotal.Text = ""
    End Sub
#End Region
End Class
